/*
**author : add by MR.L
**description:
******CS  -> 客户端发往服务器的
******SC  -> 服务器发往客户端的
******CSG -> 客户端/服务器互用
******MAIN_MSG -> 主消息
******SUB -> 子消息
*/
#ifndef _MSG_CMD_H_
#define _MSG_CMD_H_

#define	SYS_SUB_HEARTBEAT					10			// 心跳消息
#define  INNER_MSG_CONNECT                       1000        // 登录
#define  INNER_MSG_RE_CONNECT                 1100        // 重新登录
#define  INNER_MSG_CLOSE_SOCKET      1200        // 断开
#define MAIN_MSG_LOGIN						5000		// 用户登录主消息
#define SUB_SG_VERSION_REEOR				5100		// 版本错误 
#define SUB_CS_USER_LOGIN					5101		// 用户登录子消息
#define SUB_SC_USER_LOGIN_SUC				5102		// 用户登录成功
#define SUB_SC_USER_LOGIN_FINISH			5103		// 用户登录完成 
#define SUB_SC_USER_LOGIN_FAIL				5104		// 用户登录失败
#define SUB_SS_AGENT_USER_INFO              5105        // 系统内传用户信息
 

#define SUB_CS_USER_REGISTER				5120		// 用户注册
#define SUB_SC_USER_REGISTER_FINISH			5121		// 用户注册成功
#define SUB_SC_USER_REGISTER_ERROR			5122		// 用户注册失败

#define SUB_CS_USER_GETUSERINFO             5130        // 获取用户信息
#define SUB_SC_USER_GETUSERINFO_FINISH		5131		// 获取用户信息成功
#define SUB_SC_USER_GETUSERINFO_ERROR		5132		// 获取用户信息失败
 
#define SUB_CS_USER_CHANGE_PASSWORD         5140        // 修改密码
#define SUB_SC_USER_CHANGE_PASSWORD_FINISH	5141		// 修改密码成功
#define SUB_SC_USER_CHANGE_PASSWORD_ERROR	5142		// 修改密码失败 
#define SUB_CS_USER_RESET_PASSWORD          5143        // 代理商 重置密码
#define SUB_SC_USER_RESET_PASSWORD_FINISH	5144		// 代理商 重置密码成功
#define SUB_SC_USER_RESET_PASSWORD_ERROR	5145		// 代理商 重置密码失败 
#define SUB_CS_USER_LOWER_LINE_PLAYER_RESET_PASSWORD          5146      //下线玩家 重置密码
#define SUB_SC_USER_LOWER_LINE_PLAYER_RESET_PASSWORD_FINISH	  5147		//下线玩家 重置密码成功
#define SUB_SC_USER_LOWER_LINE_PLAYER_RESET_PASSWORD_ERROR	  5148		//下线玩家 重置密码失败
 
#define SUB_CS_USER_GET_LOWER_LINE_INFO         5150        // 获取下线直属代理信息
#define SUB_SC_USER_GET_LOWER_LINE_INFO_SUC	    5151		// 获取下线直属代理信息成功
#define SUB_SC_USER_GET_LOWER_LINE_INFO_FINISH	5152		// 获取下线直属代理信息完成
#define SUB_SC_USER_GET_LOWER_LINE_INFO_ERROR	5153		// 获取下线直属代理信息失败
 
#define SUB_CS_USER_GET_LOWER_LINE_PLAYER_INFO          5160  // 获取直属玩家信息
#define SUB_SC_USER_GET_LOWER_LINE_PLAYER_INFO_SUC	    5161  // 获取直属玩家信息成功
#define SUB_SC_USER_GET_LOWER_LINE_PLAYER_INFO_FINISH	5162  // 获取直属玩家信息完成
#define SUB_SC_USER_GET_LOWER_LINE_PLAYER_INFO_ERROR	5163  // 获取直属玩家信息失败

#define SUB_CS_USER_GET_LOWER_LINE_REPORT_INFO          5170        // 获取下线直属代理报表信息
#define SUB_SC_USER_GET_LOWER_LINE_REPORT_INFO_SUC	    5171		// 获取下线直属代理报表信息成功
#define SUB_SC_USER_GET_LOWER_LINE_REPORT_INFO_FINISH	5172		// 获取下线直属代理报表信息完成
#define SUB_SC_USER_GET_LOWER_LINE_REPORT_INFO_ERROR	5173		// 获取下线直属代理报表信息失败

#define SUB_CS_USER_GET_LOWER_LINE_PLAYER_REPORT_INFO           5180  // 获取直属玩家报表信息
#define SUB_SC_USER_GET_LOWER_LINE_PLAYER_REPORT_INFO_SUC	    5181  // 获取直属玩家报表信息成功
#define SUB_SC_USER_GET_LOWER_LINE_PLAYER_REPORT_INFO_FINISH	5182  // 获取直属玩家报表信息完成
#define SUB_SC_USER_GET_LOWER_LINE_PLAYER_REPORT_INFO_ERROR	    5183  // 获取直属玩家报表信息失败


#define	SUB_CS_REQ_FORBID_AGENT_USER                    5190 //封停下线代理人帐号
#define SUB_SC_REQ_FORBID_AGENT_USER_SUC                5191 //封停下线代理人帐号 成功
#define SUB_SC_REQ_FORBID_AGENT_USER_ERROR              5192 //封停下线代理人帐号 失败

#define SUB_CS_REQ_UNFORBID_AGENT_USER                  5193 //解封下线代理人帐号 
#define SUB_SC_REQ_UNFORBID_AGENT_USER_SUC              5194 //解封下线代理人帐号 成功
#define SUB_SC_REQ_UNFORBID_AGENT_USER_ERROR            5195 //解封下线代理人帐号 失败

#define	SUB_CS_REQ_FORBID_USER                          5196 //封停下线玩家帐号
#define SUB_SC_REQ_FORBID_USER_SUC                      5197 //封停下线玩家帐号 成功
#define SUB_SC_REQ_FORBID_USER_ERROR                    5198 //封停下线玩家帐号 失败

#define SUB_CS_REQ_UNFORBID_USER                        5199 //解封下线玩家帐号 
#define SUB_SC_REQ_UNFORBID_USER_SUC                    5200 //解封下线玩家帐号 成功
#define SUB_SC_REQ_UNFORBID_USER_ERROR                  5201 //解封下线玩家帐号 失败
 
#define SUB_CS_AGENT_MANAGE_LOG                        5210 //获取代理人管理记录 
#define SUB_SC_AGENT_MANAGE_LOG_SUC                    5211 //获取代理人管理记录 成功
#define SUB_SC_AGENT_MANAGE_LOG_FINISH                 5212 //获取代理人管理记录 完成
#define SUB_SC_AGENT_MANAGE_LOG_ERROR                  5213 //获取代理人管理记录 失败

#define SUB_CS_GAME_DOWNLOAD_URL                       5220 //获取游戏下载地址 
#define SUB_SC_GAME_DOWNLOAD_URL_SUC                   5221 //获取游戏下载地址 成功
#define SUB_SC_GAME_DOWNLOAD_URL_FINISH                5222 //获取游戏下载地址 完成
#define SUB_SC_GAME_DOWNLOAD_URL_ERROR                 5223 //获取游戏下载地址 失败

#define SUB_SC_AGENT_USER_KICKOUT                      5230 //用户重复登录，踢出前面的那个

#define SUB_CS_AGENT_GENERATE_REGISTER_CODE            5240 //运营商生成注册 邀请码，即 注册码
#define SUB_SC_AGENT_GENERATE_REGISTER_CODE_SUC        5241 //运营商生成注册 邀请码，即 注册码 成功
#define SUB_SC_AGENT_GENERATE_REGISTER_CODE_ERROR      5242 //运营商生成注册 邀请码，即 注册码 失败 
#define SUB_SC_AGENT_GENERATE_REGISTER_CODE_FINISH     5243 //运营商生成注册 邀请码，即 注册码 完成

#define SUB_CS_AGENT_GENERATE_REGISTER_CODE_GET        5244 //运营商获取注册 邀请码，即 注册码
#define SUB_SC_AGENT_GENERATE_REGISTER_CODE_GET_SUC    5245 //运营商获取注册 邀请码，即 注册码 成功
#define SUB_SC_AGENT_GENERATE_REGISTER_CODE_GET_ERROR  5246 //运营商获取注册 邀请码，即 注册码 失败
#define SUB_SC_AGENT_GENERATE_REGISTER_CODE_GET_FINISH 5247 //运营商生成注册 邀请码，即 注册码 成功

#define SUB_CS_GET_REMARK_NAME						   5300 //获取备注名
#define SUB_SC_GET_REMARK_NAME_SUC					   5301 //获取备注名成功
#define SUB_SC_GET_REMARK_NAME_FAIL					   5302 //获取备注名失败
#define SUB_SC_GET_REMARK_NAME_FINISH				   5303 //获取备注名完成
#define SUB_CSG_REQUEST_EXCHANGE_RMB_TO_GOLD	   5304	//申请充值/兑奖

#define SUB_CSG_REQUEST_EXCHANGE_RMB_TO_GOLD_SUC	   5500
#define SUB_CSG_REQUEST_EXCHANGE_RMB_TO_GOLD_FAIL	   5501 //申请充值与兑奖失败

//#define SUB_CSG_REQUEST_EXCHANGE_RMB_TO_GOLD_FAIL	   5305 //申请充值与兑奖失败

#define SUB_CS_SET_PROMOTER_RECHANGE_RATIO			   5306 //设置充值比例
#define SUB_SC_SET_PROMOTER_RECHANGE_RATIO_SUC		   5307	//设置充值比例成
#define SUB_SC_SET_PROMOTER_RECHANGE_RATIO_FAIL		   5308 //设置充值比例失败

#define SUB_CS_GET_USER_EXCHANGE_INFO				   5309 //获取个人充值、兑奖、转
#define SUB_SC_GET_USER_EXCHANGE_INFO_SUC			   5310 //获取个人充值、兑奖、转
#define SUB_SC_GET_USER_EXCHANGE_INFO_FAIL			   5311 //获取个人充值、兑奖、转
#define SUB_SC_GET_USER_EXCHANGE_INFO_FINISH        5312 //获取个人充值、兑奖、转账查询完成

#define SUB_CS_GET_USER_NOT_EXCHANGE_INFO			   5313 //获取未领取信息
#define SUB_SC_GET_USER_NOT_EXCHANGE_INFO_SUC		   5314 //获取未领取信息成功
#define SUB_SC_GET_USER_NOT_EXCHANGE_INFO_FAIL		   5315 //获取未领取信息失败
#define SUB_SC_GET_USER_NOT_EXCHANGE_INFO_FINISH	   5316 //获取未领取信息完成

#define SUB_CS_GET_USER_FAIL_EXCHANGE_INFO			   5317 //获取退回充值、退回兑奖
#define SUB_SC_GET_USER_FAIL_EXCHANGE_INFO_SUC		   5318 //获取退回充值、退回兑奖
#define SUB_SC_GET_USER_FAIL_EXCHANGE_INFO_FAIL		   5319 //获取退回充值、退回兑奖
#define SUB_SC_GET_USER_FAIL_EXCHANGE_INFO_FINISH	   5320 //获取退回充值、退回兑奖

#define SUB_CS_SET_EXCHANGE_INFO					   5321	//"领取" 或者 "退回" 充
#define SUB_SC_SET_EXCHANGE_INFO_SUC				   5322	//"领取" 或者 "退回" 充值及兑奖操作成功
#define SUB_SC_SET_EXCHANGE_INFO_FAIL				   5323	//"领取" 或者 "退回" 充值及兑奖操作失败

#define SUB_CS_GAME_DOWNLOAD_URL                     5220 //获取游戏下载地址
#define SUB_SC_GAME_DOWNLOAD_URL_SUC                5221 //获取游戏下载地址 成功
#define SUB_SC_GAME_DOWNLOAD_URL_FINISH             5222 //获取游戏下载地址 完成
#define SUB_SC_GAME_DOWNLOAD_URL_ERROR             5223 //获取游戏下载地址 失败

#define SUB_CS_AGENT_MANAGE_LOG                        5210 //获取代理人管理记录
#define SUB_SC_AGENT_MANAGE_LOG_SUC                    5211 //获取代理人管理记录 成功
#define SUB_SC_AGENT_MANAGE_LOG_FINISH                 5212 //获取代理人管理记录 完成
#define SUB_SC_AGENT_MANAGE_LOG_ERROR                  5213 //获取代理人管理记录 失败

#define SUB_CS_GET_LOWLINE_RECHARGE_RATIO			   5324 //获取下线充值比
#define SUB_SC_GET_LOWLINE_RECHARGE_RATIO_SUC		   5325 //获取下线充值比成功
#define SUB_SC_GET_LOWLINE_RECHARGE_RATIO_FAIL		   5327	//获取下线充值比失败
#define SUB_SC_GET_LOWLINE_RECHARGE_RATIO_FINISH	   5326	//获取下线充值比完成

#define SUB_CS_HAVE_READED_FAIL_EXCHANGE_INFO			5371 //已读取退回消息
#define SUB_SC_HAVE_READED_FAIL_EXCHANGE_INFO_SUC		5372 //返回已读取成功消息
#define SUB_SC_HAVE_READED_FAIL_EXCHANGE_INFO_FAIL		5373 //返回已读取失败消息

//////////////////////////////////////////////////////////////////////////////////////////////

#define SUB_CS_GET_LOWLINE_EXCHANGE_INFO			   5328 //获取下级充值、兑奖信息
#define SUB_SC_GET_LOWLINE_EXCHANGE_INFO_SUC		   5329 //获取下级充值、兑奖信息
#define SUB_SC_GET_LOWLINE_EXCHANGE_INFO_FAIL		   5330	//获取下级充值、兑奖信息失败
#define SUB_SC_GET_LOWLINE_EXCHANGE_INFO_FINISH		   5331 //获取下级充值、兑奖

#define SUB_CS_GET_SINGLE_AGENT_PERCENT				   5367 //获取单个运营商或代理商的分成占比
#define SUB_SC_GET_SINGLE_AGENT_PERCENT_SUC			   5368 //获取单个运营商或代理商的分成占比成功
#define SUB_SC_GET_SINGLE_AGENT_PERCENT_FAIL		   5369 //获取单个运营商或代理商的分成占比失败
#define SUB_SC_GET_SINGLE_AGENT_PERCENT_FINISH	       5370 //获取单个运营商或代理商的分成占比完成

#define SUB_CS_GET_SINGLE_AGENT_INFO				   5332	//获取单个代理或推广员信息
#define SUB_SC_GET_SINGLE_AGENT_INFO_SUC			   5333	//获取单个代理或推广员信息成功
#define SUB_SC_GET_SINGLE_AGENT_INFO_FAIL			   5334 //获取单个代理或推广员信息失败

#define SUB_CS_USER_RESET_PASSWORD          5143        // 代理商或推广员 重置密码
#define SUB_SC_USER_RESET_PASSWORD_FINISH	5144		//代理商或推广员重置密码成功
#define SUB_SC_USER_RESET_PASSWORD_ERROR	5145		//代理商或推广员重置密码失败

#define	SUB_CS_REQ_FORBID_AGENT_USER                    5190 //封停下线代理人帐号
#define SUB_SC_REQ_FORBID_AGENT_USER_SUC                5191 //封停下线代理人帐号 成功
#define SUB_SC_REQ_FORBID_AGENT_USER_ERROR              5192 //封停下线代理人帐号 失败


#define SUB_CS_REQ_UNFORBID_AGENT_USER                  5193 //解封下线代理人帐号
#define SUB_SC_REQ_UNFORBID_AGENT_USER_SUC              5194 //解封下线代理人帐号 成功
#define SUB_SC_REQ_UNFORBID_AGENT_USER_ERROR            5195 //解封下线代理人帐号

#define SUB_CS_SET_SINGLE_AGENT_INFO				   5335	//单个代理或推广员修改资料(备注名)
#define SUB_SC_SET_SINGLE_AGENT_INFO_SUC			   5336 //单个代理或推广员修改资料(备注名)成功
#define SUB_SC_SET_SINGLE_AGENT_INFO_FAIL			   5337 //单个代理或推广员修改资料(备注名)失败

#define SUB_CS_GET_CURRENT_AGENT_PERCENT			   5338 //获取运营商或代理商的分成占比
#define SUB_SC_GET_CURRENT_AGENT_PERCENT_SUC		   5339 //获取运营商或代理商的分成占比成功
#define SUB_SC_GET_CURRENT_AGENT_PERCENT_FAIL		   5340 //获取运营商或代理商的分成占比失败
#define SUB_SC_GET_CURRENT_AGENT_PERCENT_FINISH	       5341 //获取运营商或代理商的分成占比完成

#define SUB_CS_USER_REGISTER				5120		// 用户注册
#define SUB_SC_USER_REGISTER_FINISH			5121		// 用户注册成功
#define SUB_SC_USER_REGISTER_ERROR			5122		// 用户注册失败

#define SUB_CS_GET_LOWLINE_USER_EXCHANGE_INFO		   5342 //获取玩家充兑及转账信息
#define SUB_SC_GET_LOWLINE_USER_EXCHANGE_INFO_SUC	   5343 //获取玩家充兑及转账信息成功
#define SUB_SC_GET_LOWLINE_USER_EXCHANGE_INFO_FAIL	   5344 //获取玩家充兑及转账信息失败
#define SUB_SC_GET_LOWLINE_USER_EXCHANGE_INFO_FINISH   5345 //获取玩家充兑及转账信息完成

//////////////////////////////////////////////////////////////////////////////////////////////
#define SUB_CS_GET_SINGLE_PLAYER_INFO				5365 //获取单个玩家信息
#define SUB_SC_GET_SINGLE_PLAYER_INFO_SUC			5366 //获取单个玩家信息成功
#define SUB_SC_GET_SINGLE_PLAYER_INFO_FAIL			5367 //获取单个玩家信息失败


#define	SUB_CS_REQ_FORBID_USER                     5196 //封停下线玩家帐号
#define SUB_SC_REQ_FORBID_USER_SUC                   5197 //封停下线玩家帐号 成功
#define SUB_SC_REQ_FORBID_USER_ERROR                5198 //封停下线玩家帐号 失败

#define SUB_CS_REQ_UNFORBID_USER                     5199 //解封下线玩家帐号
#define SUB_SC_REQ_UNFORBID_USER_SUC                5200 //解封下线玩家帐号 成功
#define SUB_SC_REQ_UNFORBID_USER_ERROR             5201 //解封下线玩家帐号 失败

#define SUB_CS_USER_LOWER_LINE_PLAYER_RESET_PASSWORD          5146      //下线玩家 重置密码
#define SUB_SC_USER_LOWER_LINE_PLAYER_RESET_PASSWORD_FINISH	  5147		//下线玩家 重置密码成功
#define SUB_SC_USER_LOWER_LINE_PLAYER_RESET_PASSWORD_ERROR	  5148		//下线玩家 重置密码失败

#define SUB_CS_SET_USER_PRIVATE_INFO				   5346 //设置个人资料
#define SUB_SC_SET_USER_PRIVATE_INFO_SUC			   5347 //设置个人资料成功
#define SUB_SC_SET_USER_PRIVATE_INFO_FAIL			   5348 //设置个人资料失败

//////////////////////////////////////////////////////////////////////////////////////////////

#define SUB_CS_GET_MANTOMAN_GAME_REVENUE				5349 //人机对战收税分
#define SUB_SC_GET_MANTOMAN_GAME_REVENUE_SUC			5350 //人机对战收税分成成功
#define SUB_SC_GET_MANTOMAN_GAME_REVENUE_FAIL			5351 //人机对战收税分成失败
#define SUB_SC_GET_MANTOMAN_GAME_REVENUE_FINISH		5352 //人机对战收税分成完成
#define SUB_CS_GET_MANTOMACH_GAME_PROFIT				5353 //获取人机对战总玩数据
#define SUB_CS_GET_MANTOMACH_GAME_PROFIT_SUC			5354 //获取人机对战总玩数据成功
#define SUB_CS_GET_MANTOMACH_GAME_PROFIT_FAIL			5355 //获取人机对战总玩数据失败
#define SUB_CS_GET_MANTOMACH_GAME_PROFIT_FINISH			5356 //获取人机对战总玩数据完成
#define SUB_CS_GET_MANTOMACH_GAME_PROFIT_RATIO			5357 //获取人机对战总玩分成
#define SUB_SC_GET_MANTOMACH_GAME_PROFIT_RATIO_SUC		5358 //获取人机对战总玩分成成功
#define SUB_SC_GET_MANTOMACH_GAME_PROFIT_RATIO_FAIL		5359 //获取人机对战总玩分成失败
#define SUB_SC_GET_MANTOMACH_GAME_PROFIT_RATIO_FINISH	5360 //获取人机对战总玩分成完成
#define SUB_CS_GET_DIALY_EXCHANGE_INFO					5361 //获取每日兑换信息(充值 兑奖 转账)
#define SUB_SC_GET_DIALY_EXCHANGE_INFO_SUC				5362 //获取每日兑换信息(充值 兑奖 转账)成功
#define SUB_SC_GET_DIALY_EXCHANGE_INFO_FAIL				5363 //获取每日兑换信息(充值 兑奖 转账)失败
#define SUB_SC_GET_DIALY_EXCHANGE_INFO_FINISH			5364 //获取每日兑换信息(充值 兑奖 转账)完成
//////////////////////////////////////////////////////////////////////////////////////////////

#define SUB_SC_GAME_HALL_LIST_SUCC						6001 //获取大厅游戏信息 成功
#define SUB_SC_GAME_HALL_LIST_ERROR						6003 //获取大厅游戏信息 失败
#define SUB_SC_GAME_HALL_LIST_FINISH					6002 //获取大厅游戏信息 完成
#define SUB_CS_GET_LOWLINE_INFO						    6004 //获取下线信息
#define SUB_SC_GET_LOWLINE_INFO_SUC				        6005 //获取下线信息成功
#define SUB_SC_GET_LOWLINE_INFO_FINISH				    6007 //获取下线信息完成
//////////////////////////////////////////////////////////////////////////////////////////////
#define MAIN_MSG_SYS						3000			// 系统主消息（比如登录时个公告等等）
#define SUB_SS_GET_VERSION					3001			// 游戏版本号
#define SUB_SS_GET_IS_AGENT					3002			// 获取推荐人注册开关

// 系统信息
#define MAIN_MSG_SYSTEM					5700					// 系统信息
#define SUB_SS_ONCLOSE					5701					// 关闭连接消息
#define SUB_SS_HEARTBEAT				5702					// 用户心跳
#define SUB_SS_TIMER					5703					// 定时器


// 所有登录服操作
#define	RET_LOGIN_OPERATE_SUCCEED			0				// 操作成功
// 登录
#define	RET_USER_NOT_EXIST					10				// 用户名或密码错误
#define	RET_FORBID_ENTER_TIME				11				// 用户被禁止登录
// 注册
#define	RET_USER_NAME_EXIST					20				// 帐号已经存在
#define RET_USER_NAME_IS_EMPTY				21				// 用户名为空
#define	RET_USER_NICKNAME_EXIST				30				// 昵称已经存在 

///////////////////////////////////////////////////////////////////////////////////////////////
#define IDI_TIMER_AGENT_ACCOUNT				10002			// 代理扎帐定时器
#define IDI_TIMER_GENERATE_PLAYERS_REPORT	10003			// 生成玩家日报表

///////////////////////////////////////////////////////////////////////////////////////////////
#define TIMER_SPACE_AGENT_ACCOUNT		((5)*(1000)*(60))	// 代理扎帐判断周期时间
#define TIMER_GENERATE_DIALY_REPORT		((10)*(1000))		// 生成玩家日报表


enum MAIN_MSG_CODE	// 注消息码，骨架专用，应用层不得同码
{
	CONNECT_SUCC							= 10,		// 响应连接成功
	CONNECT_FAIL							= 20,		// 响应连接失败
	CLOSE_PEER								= 40,		// 响应对端关闭的消息
	//ROOM_TIMER							= 50,		// 响应房间定时器
	//TABLE_TIMER							= 60,		// 响应桌子定时器
	NO_HEARTBEAT_DIE						= 70,		// 响应无心跳至死的
	ROOM_MAIN								= 100,		// 房间消息
	ROOM_MGR_SERVER							= 150,		// 房管服务器相关
	MANAGER_MAIN							= 200,		// 管理员消息
	MATCH_MAIN								= 400,		// 比赛消息
	TASK_MAIN								= 500,		// 游戏任务消息
	PROP_MAIN								= 600,		// 道具消息
	TABLE_MAIN								= 1000,		// 桌子消息
	SYS_MAIN								= 1010,		// 系统消息
};

enum ROOM_MGR_SERVER									// 房管服务器辅助消息码
{
	RMS_SUB_FIRST_REQUEST_ROOM_INFO			= 50,		// 第一次申请房间信息
	RMS_SUB_REQUEST_ROOM_INFO_ERR			= 52,		// 申请房间信息失败
	RMS_SUB_UPDATE_PLAYERINFO				= 200,		// 更新用户数据
	RMS_SUB_UPDATE_PLAYERINFO_DONE			= 210,		// 更新用户数据完成
	RMS_SUB_USER_TASK_FINISH				= 212,		// 用户任务完成
	RMS_SUB_USER_NEXT_TASK					= 213,		// 用户任务完成获取下一个任务
	RMS_SUB_GET_ROOM_INFO					= 215,		// 取房间信息
	RMS_SUB_WRITE_ROOM_USER_COUNT			= 216,		// 用户房间人数		// version: 20140423
	RMS_SUB_UPDATE_FISH_GROUP				= 220,		// 更新渔场数据
	RMS_SUB_UPDATE_FISH_GROUP_DONE			= 221,		// 更新渔场数据完成
	RMS_GET_ONLINE_GOLD						= 222,		// 领取在线金币
};

enum ROOM_SUB_MSG_CODE									// 房间辅助消息码
{
	ROOM_SUB_MY_TEST						= 10,		// 测试用
	ROOM_SUB_LOGIN							= 100,		// 房间登录
	ROOM_SUB_PASS_VERIFY					= 110,		// 用户名与密码效验
	ROOM_SUB_LOGIN_SUCC						= 115,		// 登录房间成功
	ROOM_SUB_LOGIN_FAIL						= 120,		// 用户登录失败
	ROOM_SUB_USER_INFO						= 126,		// 用户信息
	ROOM_SUB_TABLE_LIST						= 127,		// 获取桌子列表
	ROOM_SUB_TABLE_LIST_OVER				= 128,		// 获取桌子列表结束
	ROOM_SUB_USER_LIST						= 130,		// 房间内的用户列表
	ROOM_SUB_USER_LIST_OVER					= 132,		// 用户列表结束
	ROOM_SUB_USER_LOGIN_FINISH				= 133,		// 用户登录完成
	ROOM_SUB_LEAVE_ROOM						= 180,		// 离房
	ROOM_SUB_RECOME							= 190,		// 断线重入
	ROOM_SUB_ROOM_INFO						= 300,		// 申请房间信息
	ROOM_SUB_ANTI_ADDICTION					= 301,		// 获取是否启用防沉迷
	/*ROOM_SUB_ROOM_USER_COUNT				= 302,		// 房间人数
	ROOM_SUB_ROOM_SPEAK						= 303,		// 房间聊天*/
	ROOM_SUB_USER_GET_TASK					= 304,		// 用户任务
	ROOM_SUB_GRADE_LIST						= 305,		// 等级列表
	ROOM_SUB_GRADE_LIST_SEND_FINISH			= 306,		// 等级列表发送完成
	ROOM_SUB_TABLE_INFO						= 307,		// 创建桌子信息
	//ROOM_SUB_CREATE_PLAY					= 308,		// 创建桌子游戏
	//ROOM_SUB_CREATE_PLAY_FAIL				= 309,		// 创建桌子游戏失败
};

enum MANAGER_SUB_MSG_CODE	// 管理员辅助消息码
{
	MANAGER_SUB_POWER_ERR = 100,	// 无此管理权限
	MANAGER_SUB_SET_ROOM_STATE = 150,	// 设置房间状态
	MANAGER_SUB_TICK_ONE_LEAVE_SEAT = 300,	// 踢一个玩家离座
	MANAGER_SUB_TICK_TABLE_LEAVE_SEAT = 310,	// 踢一桌玩家离座
	MANAGER_SUB_TICK_ALL_LEAVE_SEAT = 320,	// 踢所有在座的玩家离座
	MANAGER_SUB_TICK_USER_OUT_ROOM = 350,	// 踢玩家离房
	MANAGER_SUB_TICK_ALL_OUT_ROOM = 351,	// 踢所有人离房
	MANAGER_SUB_TICK_USER_SUC = 352,	// 踢人成功
	MANAGER_SUB_TICK_ONE_LEAVE_USERID = 353,	// 踢一个玩家离座(按用户ID)
	MANAGER_SUB_RESET_ROOM_CONFIG = 354,	// 重新获取房间配置
	MANAGER_SUB_TALK_TO_USERID = 355,	// 和玩家聊天
};

enum MATCH_SUB_MSG_CODE	// 比赛辅助消息码
{
	MATCH_SUB_CS_ARRANGE_QUEUE = 10,	// 比赛排队
	MATCH_SUB_SC_ARRANGE_QUEUE_FINISH = 11,	// 排队完成
	MATCH_SUB_CS_CANCEL_ARRANGE_QUEUE = 12,	// 取消排队
	MATCH_SUB_SC_CANCEL_ARRANGE_QUEUE_FINISH = 13,	// 取消排队完成
	MATCH_SUB_SC_GAME_END = 14,	// 游戏结束
	MATCH_SUB_SC_MATCH_COUNTDOWN = 15,	// 比赛倒计时
};

enum TASK_SUB_MSG_CODE	// 游戏任务辅助消息码
{
	TASK_SUB_TEST = 10,	// 测试用
};

enum PROP_SUB_MSG_CODE	// 道具辅助消息码
{
	PROP_SUB_TEST = 10,	// 测试用
};

//--- 桌子部分 -----------------------------------------------------

enum TABLE_SUB_MSG_CODE	// 桌子辅助消息码
{
	TABLE_SUB_SITDOWN = 140,	// 入座
	TABLE_SUB_INIT_GAME = 141,	// 初始游戏
	TABLE_SUB_FIRE = 150,	// 开火
	TABLE_SUB_REFLECTION = 151,	// 子弹反弹
	TABLE_SUB_CAPTURE_FISH = 152,	// 捕获鱼
	TABLE_SUB_WRITE_SCORE = 160,	// 写分
	TABLE_SUB_LEAVE_SEAT = 170,	// 离座

	TABLE_SUB_RAISE_HAND = 200,	// 举手，坐下后的消息，客户端要等到初始化完毕后，发此消息，服务端才发鱼
	TABLE_SUB_RAISE_HAND_ERR = 201,	// 举手错误

	TABLE_SUB_NET_GAP_TIME = 280,	// 网络延迟间隔(拼网络延迟)		// add by cxf
	// 以下从2000 开始，是为了和桌内消息(ProThreeGong.h)不重复
	TABLE_SUB_GAME_BEGIN = 2000, // 游戏开始消息
	TABLE_SUB_USER_DATA_CHANGE = 2001,	// 用户数据改变
	TABLE_SUB_ANTI_ADDICTION = 2002,	// 防沉迷
	TABLE_SUB_RECOMEAFTERCUT = 2003,	// 断线重入
	TABLE_SUB_TABLE_SPEAK = 2004,	// 聊天
	TABLE_SUB_SITDOWN_FINISH = 2005,	// 坐桌完成
	TABLE_SUB_CHANGE_DESK = 2006,	// 换桌
	TABLE_SUB_CHANGE_DESK_SUC = 2007,	// 换桌成功
	TABLE_SUB_GAME_END = 2008,	// 游戏结束
	TABLE_SUB_KICKOUT_USER = 2009, // 踢出用户
};

// 桌子骨架返回错误码 add by cxf
enum TABLE_RETURN_CODE
{
	RET_TABLE_OPERATE_SUCCEED = 0,	// 操作成功
	RET_TABLE_USER_EXIST = 10,	// 用户已经在桌子上了
	RET_TABLE_CHAIR_ERROR = 20,	// 椅子错误
	RET_TABLE_CHAIR_OCCUPY = 30,	// 椅子已经占用
	RET_TABLE_TABLE_START = 40,	// 桌子已经开始了,不能进入了
	RET_TABLE_ENTER_GOLD_LACK = 50,	// 自身金币不够进入房间
	RET_TABLE_NOT_FOUND_FIT = 60,	// 未找到合适的椅子或桌子
	RET_TABLE_NOT_SITDOWN_MULTI_HIGH_PLAYER = 70,	// 同一个桌子不允坐下许多个高级用户
	//RET_TABLE_PWD_ERROR					= 80,	// 桌子密码错误
	RET_TABLE_GOLD_NOT_ENOUGH = 81,		// 金币不够
	RET_TABLE_MANAGE_KICK = 82,		// 管理员踢出
	RET_TABLE_IN_PLAY_NOT_CHANGE_TABLE = 83,		// 游戏中不能换桌

	RET_TABLE_IN_TRUST_NO_ENTER = 84,			// 处于托管状态时再进入不同等级的桌子
	RET_TABLE_BLACK_BOX_KICK_ALL = 85,//黑盒子服务器踢所有玩家

	RET_FULL_SEAT = 101,	// 满座，没有空闲的椅子啦
};

struct CLOSE_PEER_DETAIL // 响应对端关闭的消息的细节
{
	long long lChannelNo;	// 通道号
	//int iCloseType;	
};

#endif